package co.com.ticci.autolavado.vo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the ticci_cliente database table.
 * 
 */
@Entity
@Table(name="ticci_cliente")
@NamedQuery(name="TicciCliente.findAll", query="SELECT t FROM TicciCliente t")
public class TicciCliente implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private TicciClientePK id;

	@Column(name="CLIE_APELLIDO1")
	private String clieApellido1;

	@Column(name="CLIE_APELLIDO2")
	private String clieApellido2;

	@Column(name="CLIE_CELULAR")
	private String clieCelular;

	@Column(name="CLIE_DIRECCION")
	private String clieDireccion;

	@Column(name="CLIE_EMAIL")
	private String clieEmail;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="CLIE_FECHA_INGRESO")
	private Date clieFechaIngreso;

	@Temporal(TemporalType.DATE)
	@Column(name="CLIE_FECHA_NACIMIENTO")
	private Date clieFechaNacimiento;

	@Column(name="CLIE_GENERO")
	private byte clieGenero;

	@Column(name="CLIE_IDENTIFICACION")
	private String clieIdentificacion;

	@Column(name="CLIE_NOMBRE")
	private String clieNombre;

	@Column(name="CLIE_TELEFONO")
	private String clieTelefono;

	@Column(name="CLIE_TIPO_IDENTIFICACION")
	private byte clieTipoIdentificacion;
	
	@Column(name="AUTO_CONS")
	private Integer autoCons;

	//bi-directional many-to-one association to TicciAutolavado
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name="AUTO_CONS", referencedColumnName="AUTO_CONS", insertable = false, updatable = false),
		@JoinColumn(name="EMPR_CONS", referencedColumnName="EMPR_CONS", insertable = false, updatable = false)
		})
	private TicciAutolavado ticciAutolavado;

	//bi-directional many-to-one association to TicciReputacion
	@OneToMany(mappedBy="ticciCliente")
	private List<TicciReputacion> ticciReputacions;


	//bi-directional many-to-one association to TicciVehiculo
	@OneToMany(mappedBy="ticciCliente")
	private List<TicciVehiculo> ticciVehiculos;

	public TicciCliente() {
	}

	public TicciClientePK getId() {
		return this.id;
	}

	public void setId(TicciClientePK id) {
		this.id = id;
	}

	public String getClieApellido1() {
		return this.clieApellido1;
	}

	public void setClieApellido1(String clieApellido1) {
		this.clieApellido1 = clieApellido1;
	}

	public String getClieApellido2() {
		return this.clieApellido2;
	}

	public void setClieApellido2(String clieApellido2) {
		this.clieApellido2 = clieApellido2;
	}

	public String getClieCelular() {
		return this.clieCelular;
	}

	public void setClieCelular(String clieCelular) {
		this.clieCelular = clieCelular;
	}

	public String getClieDireccion() {
		return this.clieDireccion;
	}

	public void setClieDireccion(String clieDireccion) {
		this.clieDireccion = clieDireccion;
	}

	public String getClieEmail() {
		return this.clieEmail;
	}

	public void setClieEmail(String clieEmail) {
		this.clieEmail = clieEmail;
	}

	public Date getClieFechaIngreso() {
		return this.clieFechaIngreso;
	}

	public void setClieFechaIngreso(Date clieFechaIngreso) {
		this.clieFechaIngreso = clieFechaIngreso;
	}

	public Date getClieFechaNacimiento() {
		return this.clieFechaNacimiento;
	}

	public void setClieFechaNacimiento(Date clieFechaNacimiento) {
		this.clieFechaNacimiento = clieFechaNacimiento;
	}

	public byte getClieGenero() {
		return this.clieGenero;
	}

	public void setClieGenero(byte clieGenero) {
		this.clieGenero = clieGenero;
	}

	public String getClieIdentificacion() {
		return this.clieIdentificacion;
	}

	public void setClieIdentificacion(String clieIdentificacion) {
		this.clieIdentificacion = clieIdentificacion;
	}

	public String getClieNombre() {
		return this.clieNombre;
	}

	public void setClieNombre(String clieNombre) {
		this.clieNombre = clieNombre;
	}

	public String getClieTelefono() {
		return this.clieTelefono;
	}

	public void setClieTelefono(String clieTelefono) {
		this.clieTelefono = clieTelefono;
	}

	public byte getClieTipoIdentificacion() {
		return this.clieTipoIdentificacion;
	}

	public void setClieTipoIdentificacion(byte clieTipoIdentificacion) {
		this.clieTipoIdentificacion = clieTipoIdentificacion;
	}

	public TicciAutolavado getTicciAutolavado() {
		return this.ticciAutolavado;
	}

	public void setTicciAutolavado(TicciAutolavado ticciAutolavado) {
		this.ticciAutolavado = ticciAutolavado;
	}

	public List<TicciReputacion> getTicciReputacions() {
		return this.ticciReputacions;
	}

	public void setTicciReputacions(List<TicciReputacion> ticciReputacions) {
		this.ticciReputacions = ticciReputacions;
	}

	public TicciReputacion addTicciReputacion(TicciReputacion ticciReputacion) {
		getTicciReputacions().add(ticciReputacion);
		ticciReputacion.setTicciCliente(this);

		return ticciReputacion;
	}

	public TicciReputacion removeTicciReputacion(TicciReputacion ticciReputacion) {
		getTicciReputacions().remove(ticciReputacion);
		ticciReputacion.setTicciCliente(null);

		return ticciReputacion;
	}


	public List<TicciVehiculo> getTicciVehiculos() {
		return this.ticciVehiculos;
	}

	public void setTicciVehiculos(List<TicciVehiculo> ticciVehiculos) {
		this.ticciVehiculos = ticciVehiculos;
	}

	public TicciVehiculo addTicciVehiculo(TicciVehiculo ticciVehiculo) {
		getTicciVehiculos().add(ticciVehiculo);
		ticciVehiculo.setTicciCliente(this);

		return ticciVehiculo;
	}

	public TicciVehiculo removeTicciVehiculo(TicciVehiculo ticciVehiculo) {
		getTicciVehiculos().remove(ticciVehiculo);
		ticciVehiculo.setTicciCliente(null);

		return ticciVehiculo;
	}

}